import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False


# 定义次品率数据
data = {
    "零配件1": [0.09795, 0.0286, 0.10105, 0.20201, 0.10128, 0.05079],
    "零配件2": [0.10052, 0.20013, 0.09896, 0.19968, 0.19816, 0.05079],
    "成品": [0.09935, 0.19852, 0.0999, 0.19833, 0.19833, 0.05151]
}

# 创建数据框
df = pd.DataFrame(data, index=[f'情况 {i}' for i in range(1, 7)])

# 绘制热力图
plt.figure(figsize=(8, 6))
sns.heatmap(df, annot=True, cmap='YlGnBu', linewidths=.5, cbar=True)
plt.title('次品率热力图')
plt.xlabel('产品类型')
plt.ylabel('情况')
plt.show()

# 示例数据
scores = [29.97, 24.02, 27.21, 16.96, 20.58, 33.86]  # 评分
quality_rates = [0.730766, 0.622745, 0.729072, 0.511665, 0.577707, 0.854589]  # 产品质量率

plt.figure(figsize=(10, 6))
plt.scatter(quality_rates, scores)
plt.title('评分与产品质量率的关系')
plt.xlabel('产品质量率')
plt.ylabel('评分')
plt.grid()
plt.show()
#散点图

plt.figure(figsize=(10, 6))
for column in df.columns:
    plt.plot(df.index, df[column], marker='o', label=column)
plt.title('次品率随情况变化的趋势')
plt.xlabel('情况')
plt.ylabel('次品率')
plt.legend()
plt.show()
#折线图

df.plot(kind='bar', figsize=(10, 6))
plt.title('不同情况下零配件和成品的次品率')
plt.xlabel('情况')
plt.ylabel('次品率')
plt.legend(title='产品类型')
plt.show()
#条形图
